The invention relates to selectively enabling whether a computer system boots-up into an advanced configuration and power interface (ACPI) mode or a non-ACPI mode.
Known power management and configuration techniques, such as the advanced power management (APM) and the plug-and-play specifications, were implemented by basic input-output system (BIOS) instructions stored in read-only memory. When a power management or configuration event occurred (e.g., a request to transition from an "on" state to a "sleep" state), the BIOS received notice of the event via an operating system transparent interrupt known as a system management interrupt. It was the responsibility of the BIOS to manipulate the necessary software state information and to control the system's hardware and perform the requested action.
Under the new ACPI, when a power management or configuration event occurs the operating system is notified via an operating system visible interrupt known as a system control interrupt (SCI). It is the operating system itself that directs all system and device power state transitions. Central to ACPI operations is an ACPI driver. This driver is an operating system level program which receives notice of all SCI events and either performs the necessary event handling actions itself, or passes control to an ACPI control method.
The ACPI specification represents an abstract interface between a computer system's hardware and firmware and its operating system. The ACPI includes hardware registers, tables, and BIOS. ACPI registers are used to store and pass event information between the hardware/firmware and operating system. ACPI tables are used to describe system information (e.g., supported power states, power sources, clock sources), features (e.g., available hardware devices), and methods for controlling those features (e.g., ACPI control methods). ACPI BIOS is that part of the computer system firmware that implements the ACPI specified interfaces for sleep, wake, some restart operations, and provides permanent storage of ACPI table information.
An ACPI operating system detects an ACPI compliant BIOS by searching predetermined BIOS memory addresses for a specified byte pattern, also known as a signature. Upon finding this pattern, the ACPI operating system commands the BIOS into ACPI mode. If the specified byte pattern is not found, the operating system will perform power management and device configuration services according to legacy (e.g., APM) specifications.